package com.jwell.oms.base.mapper;

import java.util.HashMap;
import java.util.List;

import org.apache.ibatis.annotations.Param;

import com.jwell.oms.base.entity.BaseArea;

/**
 * 
 * @FileName:    BaseAreaMapper.java
 * @Company:     成都积微物联电子商务有限公司
 *
 * @author:      tj
 * @version      V1.0
 * @date:        2016年9月23日 下午5:12:09
 * 
 * @Description: 区域dao
 *
 */
public interface BaseAreaMapper {
	
	/**
	 * 根据p_code、levelId查询
	 * @param pCode   不能为空
	 * @param levelId 若为null则不做条件
	 * @return
	 * @author tj
	 * @date 2016年9月26日
	 */
	List<BaseArea>  getTree ( @Param("pCode")Long pCode , @Param("levelId")Long levelId);
	
	/**
	 * 根据code获取父类
	 * @param code
	 * @return
	 * @author tj
	 * @date 2016年9月26日
	 */
	BaseArea getByCode(@Param("code")Long code);
	
	/**
	 * 查询全部 只包含code as id ，name as text
	 * @return
	 * @author tj
	 * @date 2016年9月26日
	 */
	List<HashMap<String,Object>> getBylevelId(@Param("levelId")Long levelId);
	
	/**
	 * 根据pcode获取数据
	 * @param pCode
	 * @return 返回code 和 name ，别名分别为id，text
	 * @author tj
	 * @date 2016年9月28日
	 */
	List<HashMap<String,Object>> getByPCode(@Param("pCode")Long pCode);
   /**
    * 查询第一级数据
    * @Param @return
    * @return List<BaseProduct>
    * @author wangdan
    * @date 2016年12月12日
    */
	List<BaseArea> findList();
	
	/**
	 * 查询子级
	 * @Param @param baseArea
	 * @Param @return
	 * @return List<BaseArea>
	 * @author wangdan
	 * @date 2016年12月12日
	 */
	List<BaseArea> findListChild(BaseArea baseArea);
	
	List<BaseArea> findByQ(@Param("q")String q);
}